Programmable logic devices (PLDs), such as field programmable gate arrays (FPGAs), typically utilize binary configuration data when performing desired operations in a target application. Frequently, an end user of a programmable logic device would acquire proprietary configuration data (“software”) from a software developer by executing a software license agreement. Pursuant to this agreement, an end user would typically receive either design source code or more often the binary configuration data compiled from the source code. As illustrated by the conventional operations 10 of FIG. 1, proprietary design source code of a developer, Block 12, is typically provided to an end user by compiling or processing the source code into binary configuration data, Blocks 14, 16. An end user of a PLD would typically then download the configuration data into a programmable read only memory (PROM) mounted on a printed circuit board, Block 18. The configuration data in this memory could then be accessed and loaded into a PLD during start-up operations, Block 20, so that the PLD becomes configured by the configuration data.
Unfortunately, these operations may put the software developer at risk that unauthorized copies of the binary configuration data might be used in additional target applications for which the software developer does not receive compensation. To address this possibility, software developers may develop complex software license agreements to limit unauthorized copying. Such agreements may be difficult to negotiate and may require large up-front royalty fees. Moreover, such terms may preclude users from entering such licenses when only relatively few applications for the proprietary software are anticipated. Thus, notwithstanding conventional licensing techniques for incorporating proprietary software into programmable logic devices, there continues to be a need for improved techniques that do not suffer from the aforementioned limitations associated with conventional software licensing.